// 预加载脚本，可用于在渲染进程中安全地暴露Node.js功能
// 或者设置上下文隔离等安全特性

const { contextBridge, ipcRenderer } = require('electron')

//暴露环境变量
// contextBridge.exposeInMainWorld('env', process.env);
// 注入自定义CSS，用于调整窗口外观
document.addEventListener('DOMContentLoaded', () => {
  // 创建样式元素
  const style = document.createElement('style')
  style.textContent = `
    /* 自定义标题栏和窗口样式 */
    html, body {
      background-color: #11142C;
    }
    
    /* 为Windows平台特殊设置 */
    .electron-app-title-bar {
      background-color: #11142C !important;
      color: white !important;
    }
    
    /* 确保内容区域不被标题栏遮挡 */
    body {
      padding-top: env(titlebar-area-height, 0);
    }
  `
  // 添加到文档头部
  document.head.appendChild(style)
})

// 向渲染进程暴露API
contextBridge.exposeInMainWorld('electronAPI', {
  // 示例：发送消息到主进程
  sendMessage: (message) => ipcRenderer.send('message-from-renderer', message),
  
  // 示例：接收来自主进程的消息
  receiveMessage: (callback) => {
    ipcRenderer.on('message-from-main', (_, ...args) => callback(...args))
  },
  
  // 示例：获取系统信息
  getSystemInfo: () => {
    return {
      platform: process.platform,
      arch: process.arch,
      version: process.version
    }
  },

  // 窗口控制
  windowControls: {
    minimize: () => ipcRenderer.send('window-minimize'),
    maximize: () => ipcRenderer.send('window-maximize'),
    close: () => ipcRenderer.send('window-close')
  }
})

// 添加窗口控制事件监听
ipcRenderer.on('window-minimize', () => {
  ipcRenderer.send('window-minimize')
})

ipcRenderer.on('window-maximize', () => {
  ipcRenderer.send('window-maximize')
})

ipcRenderer.on('window-close', () => {
  ipcRenderer.send('window-close')
})

console.log('预加载脚本已执行') 